home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Whiteline: delta
/
whiteline CD Series - delta.iso
/
tools
/
dfue
/
cat_utis
/
decat14
/
readme
< prev
Wrap
Text File
|
1995-11-25
|
19KB
|
398 lines
DECAT 1.4 - PGP Dekodierer für CAT
==================================
(c) Dietrich Feist 28.07.1995
***** WICHTIG! - WICHTIG! - WICHTIG! - WICHTIG! - WICHTIG! *****
* *
* Gegenüber Version 1.3 hat sich der Aufbau der Kommandozeile *
* geändert! Auch Benutzer von DECAT 1.3 sollten also unbedingt *
* den Punkt "Aufbau der Kommandozeile" aufmerksam lesen! *
* *
***** WICHTIG! - WICHTIG! - WICHTIG! - WICHTIG! - WICHTIG! *****
Dieses Programm ist Freeware! Es darf beliebig weitergegeben werden, solange
dafür keinerlei Gebühren verlangt werden! Das Ablegen in Mailboxen ist
ausdrücklich erwünscht! Näheres dazu am Schluß dieses Textes.
Das Programm DECAT dekodiert automatisch alle mit PGP kodierten
ankommenden Nachrichten im Outfile. Es kann unter CAT als I/O-Filter für
installiert werden und entschlüsselt so die Nachrichten, bevor der Inhalt
des Outfiles in die Datenbasis eingefügt wird. Zusätzlich werden neue Keys
(natürlich unsigniert) in den öffentlichen Schlüsselbund eingefügt.
Dokumentation:
Dieser Text verdient diese Bezeichnung kaum, ist aber das einzige, was ich
in dieser Hinsicht liefern kann. Falls jemand den Ehrgeiz verspürt, eine
bessere Dokumentation zu schreiben, dann ist er/sie herzlich willkommen.
Systemvoraussetzungen:
- eine funktionsfähige Version von PGP muß bereits installiert sein.
Getestet wurde DECAT von mir mit den Versionen 2.3 und 2.6ui.
- CAT ab Version 2.5 sollte installiert sein. Da das Programm als externer
I/O-Filter installiert wird, muß es sich dabei um eine registrierte
Version handeln.
- Unter CAT sollte die Packerausgabe nicht umgelenkt werden, sonst kann
man sein Passwort nicht eingeben! Alternativ kann man auch die
Environment-Variable PGPPASS setzen, dann muß kein Passwort mehr
eingegeben werden. PGPPASS sollte aber nur dann verwendet werden, wenn
wirklich niemand außer Ihnen Zugang zu Ihrem Rechner hat!
- DECAT wertet die Environment-Variable TMP aus. Alle temporären Dateien
werden in das Verzeichnis geschrieben, das in TMP übergeben wurde. Wird
die Variable nicht gesetzt, werden alle temporären Dateien in das
gleiche Verzeichnis geschrieben, in dem sich auch das Programm befindet.
Diese Variable wird auch von PGP unterstützt.
- Prinzipiell funktioniert DECAT auch ohne CAT, da zwischen den beiden
Programmen keine direkte Kommunikation erfolgt. DECAT benötigt nur
das Outfile mit den kodierten Nachrichten und erzeugt daraus ein
Outfile mit entschlüsselten Nachrichten. Insofern sollte es mit jedem
Maustauschprogramm zusammenarbeiten, das eine Bearbeitung des Outfiles
durch externe Filterprogramme vor dem Einfügen erlaubt. Auch der Einsatz
innerhalb der Skriptdatei eines Terminalprogramms wäre im Prinzip
denkbar.
Installation:
- Das Programm DECAT.TTP in ein beliebiges Verzeichnis auf der Festplatte
kopieren. Ist die Environment-Variable PGPPATH nicht auf den Pfad
gesetzt, in dem sich auch PGP.TTP befindet, dann muß DECAT in das
gleiche Verzeichnis wie PGP.TTP kopiert werden. In diesem Fall kann
die Environment-Variable PGPPATH entfallen.
- CAT starten und im Menü unter Optionen -> Allgemein das Feld
"Packerausgabe umlenken" abschalten. Wird die Packerausgabe umgelenkt,
dann kann man sein Passwort nicht mehr eingeben. In diesem Fall muß
die Environment-Variable PGPPASS das Passwort enthalten (s. dazu die
Dokumentation von PGP).
- Den Menüpunkt Optionen -> I/O-Filter anwählen. Es erscheint eine
Dialogbox, in der externe Filterprogramme installiert werden können. Wie
das geht, steht in der Dokumentation zu CAT. Die Optionen sollten
folgendermaßen eingestellt werden:
1. Wofür: "für In-/Outfile" angewählt
2. für Outfile: angekreuzt
3. für Infile: nicht angekreuzt
4. aktiv: angekreuzt
5. Kommandozeile für Outfile eingeben. Der genaue Aufbau wird
weiter unten im Punkt "Aufbau der Kommandozeile" beschrieben.
- Danach die neuen Einstellungen sichern. Das wars!
Programmablauf:
DECAT erwartet als Parameter in der Kommandozeile Pfad und Dateiname
des Outfiles. In CAT kann man diese leicht durch das Kürzel $I$O übergeben.
Zusätzlich kann man verschiedene Optionen angeben, mit deren Hilfe sich der
Ablauf von DECAT steuern läßt. Beispielsweise kann die Bildschirmausgabe
in eine Datei umgelenkt oder angegeben werden, in welche Datei gefundene
Keys exportiert werden sollen. Es besteht auch die Möglichkeit, einen
Testmodus zu aktivieren oder DECAT am Programmende auf einen Tastendruck
warten zu lassen.
Bei der Umleitung der Bildschirmausgabe ist zu beachten, daß die Ausgabe
entweder in das Logfile oder auf den Bildschirm erfolgt, nicht sowohl als
auch! Bei Verwendung eines Logfiles sollte das Passwort also mit Hilfe der
Umgebungs-variable PGPPASS übergeben werden, da man die Aufforderung zur
Eingabe des Passworts ja nicht auf dem Schirm sehen kann.
Beim Maustausch wird das Programm automatisch gestartet, nachdem das
Outfile ausgepackt worden ist. Falls eine PGP-kodierte Nachricht gefunden
wurde, wird man nach dem Passwort für den geheimen Schlüssel gefragt. Das
Passwort wird während der Eingabe nicht angezeigt, bei Tippfehlern kann mit
der Backspace-Taste korrigiert werden. Die Eingabe endet, sobald die
Return-Taste betätigt wird. Enthält die Environment-Variable PGPPASS das
korrekte Passwort, wird man nicht zur Eingabe aufgefordert.
Das eingegebene Passwort bleibt bis zum Programmende gespeichert, so daß
weitere Nachrichten automatisch entschlüsselt werden können, ohne daß eine
erneute Eingabe des Passworts nötig wäre. Bei Programmende werden sämtliche
Speicherbereiche mit Nullen überschrieben, in denen das Passwort während des
Programmablaufs gespeichert war. Auf diese Weise ist es nicht möglich, das
Passwort nach Ende des Programms irgendwo im Speicher zu finden.
Von der Verwendung der Environment-Variable PGPPASS muß generell abgeraten
werden, auch wenn es vielleicht sehr bequem erscheint. Wird diese Variable
gesetzt, dann kann jeder, der Zugang zu Ihrem Rechner hat, Ihr Passwort
lesen!
Aufbau der Kommandozeile:
DECAT <outfile> [-t] [-k] [-h] [-x=<keys>] [-l=<logfile>] [-b=<ext>]
Grundsätzlich muß bei DECAT immer der Name des zu bearbeitenden Outfiles
als Parameter <outfile> angegeben werden. Das läßt sich unter CAT sehr
leicht mit der Kombination $I$O realisieren. Die anderen Optionen in
eckigen Klammern sind beliebig. Die Reihenfolge spielt keine Rolle, als
<outfile> wird der erste Parameter verwendet, der nicht mit einem "-"
beginnt.
Die Optionen im einzelnen bedeuten:
-t: Testmodus aktivieren. Im Testmodus wird die bearbeitete Datei
nicht gelöscht und die Ausgabe wird in die Datei KLARTEXT.TXT
geschrieben. Außerdem wird PGP grundsätzlich im Modus mit der
größten Geschwätzigkeit aufgerufen und vor dem Aufruf das
übergebene Environment angezeigt.
-k: Die ursprüngliche Datei <outfile> wird nach erfolgreicher
Bearbeitung nicht gelöscht. Wird diese Option nicht gesetzt, dann
wird sie gelöscht, sofern beim Entschlüsseln keine Fehler auf-
getreten sind.
-h: DECAT wartet beim Programmende erst auf einen Tastendruck.
-x=<keys>: Im Outfile gefundene Schlüssel werden nur in die Datei
<keys> exportiert. Aus dieser Datei kann sie der
Benutzer dann manuell mit Hilfe von PGP in seinen
Schlüsselbund einfügen, ein automatisches Einfügen
erfolgt dann nicht! Sollte die Datei <keys> bereits
existieren, werden neue Schlüssel einfach daran
angehängt. Wird diese Option nicht angegeben, dann
werden neue Keys zunächst in eine temporäre Datei
exportiert, die am Programmende automatisch eingefügt
wird.
-l=<logfile>: Die Bildschirmausgabe des Programms wird in die Datei
<logfile> umgeleitet. Gleichtzeitig wird die Option -h
deaktiviert.
-b=<ext>: Dateinamenserweiterung der Sicherheitskopie, die Standard-
vorgabe ist "bak". Würde z.B. die Option -b=dup gewählt,
dann würde die ursprüngliche Version der Datei <outfile>
die Endung "dup" erhalten, also z.B. outfile.txt -->
outfile.dup. Wird diese Option nicht angegeben, wird die
Standardendung "bak" verwendet. In jedem Fall würde diese
Datei am Ende des Programms gelöscht, sofern keine Fehler
beim Entschlüsseln auftreten und die Option -k nicht
aktiviert wurde.
Alle Optionen müssen einzeln angegeben werden! Kombinationen aus mehreren
wie etwa -kht funktionieren (noch) nicht.
Beispiele für Kommandozeilen und was sie bewirken:
$I$O -h : DECAT erhält von CAT den Pfad und Namen des
Outfiles und wartet am Programmende auf einen
Tastendruck
-k outfile.txt -b=$$$ : DECAT entschlüsselt die Datei "outfile.txt" und
legt eine Sicherheitskopie mit Namen "outfile.$$$"
an. Diese Kopie wird in keinem Fall gelöscht, auch
wenn keine Fehler beim Entschlüsseln aufgetreten
sind.
$I$O -l=decat.log -t : DECAT startet im Testmodus und bearbeitet die
Datei, deren Namen ihm von CAT mitgeteilt wird.
Die Bidlschirmausgabe wird in die Datei decat.log
umgeleitet.
Bekannte Fehler:
- DECAT ist momentan nicht in der Lage, kodierte Nachrichten zu
entschlüsseln, die vor dem Versand gesplittet wurden. In so einem Fall
wird unter Umständen kein korrektes Outfile erzeugt.
- Verwendet man DECAT unter EASE, gibt es eine Menge Probleme. Die
meisten dieser Probleme liegen aber an EASE und nicht an DECAT! Da ich
selbst EASE nicht besitze, ist die Korrektur dieser Probleme für
mich leider etwas schwierig. Mit THING scheint es ähnliche Probleme
zu geben.
- Bei einigen Konfigurationen kann man bei der Angabe des Logfiles keinen
Pfad mit angeben. Ich konnte das Problem bisher nicht ausfindig machen,
weil es bei mir unter TOS 1.04 und Gemini einwandfrei funktioniert.
Danksagungen:
Ich danke den Benutzern von DECAT für ihre zahlreichen Tips und
Fehlermeldungen. Außerdem möchte ich Phil Zimmermann und allen anderen
danken, die an der Entwicklung von PGP beteiligt waren bzw. sind.
Entwicklungsgeschichtliches:
Version 1.0 beta
================
Diese Version lief offenbar nur auf meinem System gut. War PGPPATH nicht
gesetzt, stürzte sie gnadenlos ab. Selbst wenn sie gesetzt war, war DECAT
etwas wählerisch, was den übergebenen Pfad anging. Er durfte als letztes
Zeichen keinen Backslash enthalten, wie es ja eigentlich die korrekte Form
eines Pfades tun sollte. Diese Version wurde nur an die Betatester
verteilt.
Version 1.1 beta
================
Hier wurden einige Fehler korrigiert. DECAT stürzt jetzt nicht mehr ab,
wenn PGPPATH nicht gesetzt ist. Es ist jetzt auch egal, ob der Pfad einen
Backslash als letztes Zeichen enthält oder nicht. Außerdem werden jetzt
zusätzlich die Environment-Variablen TMP und PGPPASS unterstützt. In
PGPPASS kann das Passwort gesetzt werden, so daß das Programm ganz ohne
Benutzereingaben laufen kann. In TMP wird der Pfad übergeben, in den alle
temporären Dateien geschrieben werden. Diese Version wurde nicht
veröffentlicht, sondern sofort von Version 1.2 beta abgelöst.
Version 1.2 beta
================
Da ich nach Fertigstellung von Version 1.1 beta offenbar zu viel Zeit
hatte, habe ich gleich noch eine Routine eingebaut, die automatisch
neue Keys im Outfile erkennt und diese (natürlich ohne Echtheitszertifikat)
in den öffentlichen Schlüsselbund einfügt. Hinter dem eingefügten Key wird
eine entsprechende Nachricht in das neue Outfile eingefügt. Neue Keys, die
innerhalb einer verschlüsselten Nachricht stehen, werden auf diese Weise
nicht eingefügt! Diese Version wurde veröffentlicht, nachdem die
Betatester keine größeren Mängel mehr gefunden haben.
Version 1.21
============
Die erste Version ohne den Zusatz "beta". Einige kleinere Bugs wurden
beseitigt. Dazu zählte z.B. die fehlerhafte Anzeige von Namen beim
Einfügen neuer Keys aus Info-Dateien. Auch die Auswertung der Fehler-
meldungen von PGP wurde verbessert. So werden jetzt nur noch solche
Nachrichten als dekodiert markiert, die wirklich von PGP fehlerlos
entschlüsselt werden konnten. Bei neu eingefügten Keys werden jetzt
Datum und Uhrzeit des Einfügens mit eingetragen. Außerdem kann die
Ausgabe jetzt in eine Datei umgelenkt werden, deren Name als zweiter
Parameter in der Kommandozeile übergeben wird.
Version 1.3
===========
Nach etwas längerer Pause die erste Version, in der ich einige der vielen
Anregungen und Wünsche der DECAT-Benutzer berücksichtigen konnte. DECAT
unterstützt jetzt den PMCRYPT-Standard, wie er von Crosspoint und Enkat
verwendet wird. Damit kann bei einer kodierten Nachricht auch der Betreff
verschlüsselt übertragen werden.
Außerdem wird jetzt neben der vom aufrufenden Programm übergebenen
Umgebung auch das Shell-Environment nach den Variablen TMP, TZ, PGPPATH
und PGPPASS durchsucht. Damit sollte ein Teil der Probleme mit EASE der
Vergangenheit angehören. Vielen Dank an Johannes Link für den Tip!
Die bisher übliche Einrahmung des entschlüsselten Textes in "----- begin
decrypted pgp message -----" bzw. "----- end decrypted pgp message -----"
ist jetzt weggefallen. Stattdessen gibt es jetzt nur noch eine kurze
Meldung mit Datum und Uhrzeit am Ende der Mail. Der Nachteil ist, daß man
jetzt in Nachrichten, bei denen nur ein Teil kodiert war (benutzt das
jemand?) nicht mehr sehen kan, welcher Teil das war. Der große Vorteil
ist aber, daß jetzt auch gruppenübergreifende Kommentare in kodierten
Mails funktionieren können.
Version 1.4
===========
Die Fehlerbehandlung wurde erheblich verbessert. Deshalb kann jetzt im
Normalfall bei fehlerfreier Entschlüsselung das ursprüngliche Outfile
gelöscht werden. Wem dies nicht gefällt, der kann das mit der Option
-k verhindern. Überhaupt sind einige Dinge dazugekommen: endlich werden
Keys in verschlüsselten Mails erkannt, statt automatischer Einsortierung
können neue Keys auch in eine Datei exportiert und danach manuell
einsortiert werden, die Namenserweiterung der Sicherheitskopie ist jetzt
frei wählbar und wenn es sein muß, wartet DECAT am Programmende auch
auf einen Tastendruck. Da mich berufliche Gründe dazu zwingen, für mehrere
Jahre in die Schweiz zu gehen, wird das vermutlich die letzte Version sein,
an der ich beteiligt bin (von ein paar Bugfixes vielleicht mal abgesehen).
Ausblicke:
- Spätere Versionen von DECAT sollen mit gesplitteten Mails umgehen
können.
- Die Unterstützung von Multi-Tasking-Betriebssystemen soll weiter
verbessert werden.
Nutzungsbedingungen:
DECAT ist Freeware! Jeder darf das Programm kostenlos und ohne weitere
Verpflichtungen mir gegenüber für einen unbegrenzten Zeitraum verwenden
und es außerdem beliebig kostenlos weitergeben. Die einzigen Bedingungen
sind, daß er/sie sich nicht daran bereichert und keinerlei Veränderungen
am Programm oder an der Dokumentation vornimmt. Alle Rechte, insbesondere
die Rechte an den Sourcekodes verbleiben bei mir!
Besonders erwünscht ist die Weiterverbreitung über Mailboxen oder
FTP-Server. Der Vertrieb über PD-Versender ist nur gestattet, wenn diese
nicht mehr als die ihnen entstandenen Unkosten für das Kopieren verlangen.
Im Zweifelsfall ist vorher mein Einverständnis einzuholen!
Bei der Weitergabe des Programms müssen alle Dateien des Archivs
unverändert und zusammen weitergegeben werden. Dieser Text muß das
Programm immer begleiten! Das Packen aller Dateien mit einem anderen
Packer ist natürlich erlaubt.
Anerkennung:
Wer seine Dankbarkeit für meine Arbeit nicht zügeln kann und mir unbedingt
was Gutes tun will, der hat mehrere Möglichkeiten. Das ist aber keine
Bedingung, sondern geschieht völlig freiwillig!
1. Das Programm (auf seine Kosten) in beliebig vielen Mailboxen/FTP-Servern
uploaden.
2. Mir eine Ansichtskarte aus dem nächsten Urlaub oder seiner Heimat
schicken. Bitte darauf deutlich vermerken, daß er/sie ein zufriedener
DECAT-User ist, sonst rätsele ich wochenlang, wer er/sie sein könnte.
3. Bei einem beliebigen Mausstammtisch meine Rechnung bezahlen.
4. Mir nach eigenem Ermessen eine Spende auf mein Konto Nr. 3290 34 750
bei der Postbank Karlsruhe, BLZ: 660 100 75, zukommen lassen.
5. Einen großzügigen Geldbetrag zugunsten des Phil Zimmermann defense
funds spenden. Mit diesem Fond wird Phil Zimmermann finanziell
unterstützt, damit er seine Anwaltskosten in den wegen PGP
anstehenden Gerichtsverfahren bezahlen kann. Verschiedene amerikanische
Regierungsstellen (vor allem die Zollbehörde) haben ihn nach der
Veröffentlichung von PGP mit Klagen überhäuft, um eine weitere
Verbreitung von PGP zu verhindern.
Der Autor:
Ich bin derzeit 28 Jahre alt und von Beruf Diplomphysiker. Da ich in
Kürze meine Zelte in Deutschland abbrechen und für 3-4 Jahre in die
Schweiz ziehen werde, sollten alle Anfragen bzgl. DECAT an die Adresse
meiner Eltern gehen:
Dietrich Feist
Trajanstraße 21 a
D-68526 Ladenburg
EMail: Dietrich Feist @ HD (MausNet)
Anfragen, Kritik und Anregungen zu DECAT beantworte ich grundsätzlich nur
per EMail! PMs an diese Adresse werde ich ab August 1995 wohl nur noch
etwa einmal pro Monat lesen. Deshalb bitte etwas Geduld!
Haftungsausschluß:
Ich übernehme keinerlei Verantwortung oder Haftung für irgendwelche
Schäden, die durch den Gebrauch von DECAT entstehen! Die Installation
und Anwendung erfolgen auf eigenes Risiko! Ich weise ausdrücklich darauf
hin, daß es keine fehlerfreie Software gibt und DECAT somit unter
Umständen auch Fehler enthält, die zu Datenverlusten führen können.
Wer in so einem Fall kein entsprechendes Backup besitzt, ist selbst
schuld!